mscJNeuralNet.trainingAlgorithms
Class BackpropagationMomentum

java.lang.Object
  extended bymscJNeuralNet.trainingAlgorithms.AbstractTrainingAlgorithm
      extended bymscJNeuralNet.trainingAlgorithms.BackpropagationMomentum
All Implemented Interfaces:
INetTrainingAlgorithm, observerPattern.Observable

public class BackpropagationMomentum
extends AbstractTrainingAlgorithm

Offline Backpropagation Lernverfahren mit Momentumterm nach Rumelhart, Hinton und Williams. Implentiert nach der Arbeit D. E. Rumelhart, G. Hinton, R. Williams - Learning internal representations by error propagation, 1986
Backpropagation ist wohl der Klassiker unter den Lernverfahren, hat aber auch die schlechteste Performanz.

Die Aktualisierung der Kantengewichte wird wie folgt berechnet:

              Backpropagation Term        Momentum Term
 Delta Wij = -1 * alpha * Gradient Wij + momentum * Delta WijAlt
 

Created on 05.04.2004

Version:
05.06.2004
Author:
M. Serhat Cinar
See Also:
INetTrainingAlgorithm, AbstractTrainingAlgorithm, mscJNeuralNet.trainingAlgorithms

Constructor Summary
BackpropagationMomentum()
           
 
Method Summary
 void applyWeightUpdate(int pOutputting, int pInputting)
          Derzeit leer.
 java.lang.String getAlgorithmName()
          Liefert den String "Backprop + Momentum" zurück.
 double[] getDefaultLearningParameters()
          Dieses Lernverfahren unterstützt folgende Parameter:
Index Bezeichnung Funktion 0 Alpha Lernschrittweite 1 Momentum Faktor für den Momentumterm
 java.lang.String[] getLearningParameterNames()
          Dieses Lernverfahren unterstützt folgende Parameter:
Index Bezeichnung Funktion 0 Alpha Lernschrittweite 1 Momentum Faktor für den Momentumterm
 double[] getLearningParameters()
          Dieses Lernverfahren unterstützt folgende Parameter:
Index Bezeichnung Funktion 0 Alpha Lernschrittweite 1 Momentum Faktor für den Momentumterm
 void init()
          Derzeit leer.
 void setLearningParameters(double[] pLearningParameters)
          Dieses Lernverfahren unterstützt folgende Parameter:
Index Bezeichnung Funktion 0 Alpha Lernschrittweite 1 Momentum Faktor für den Momentumterm Am Ende der Methode werden die Observer benachrichtigt.
 java.lang.String toString()
           
 
Methods inherited from class mscJNeuralNet.trainingAlgorithms.AbstractTrainingAlgorithm
getActualGradients, getCycle, getNet, getObserverManager, setActualGradients, setCycle, setNet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BackpropagationMomentum

public BackpropagationMomentum()
Method Detail

init

public void init()
Description copied from class: AbstractTrainingAlgorithm
Derzeit leer.

Specified by:
init in interface INetTrainingAlgorithm
Overrides:
init in class AbstractTrainingAlgorithm
See Also:
INetTrainingAlgorithm.init()

applyWeightUpdate

public void applyWeightUpdate(int pOutputting,
                              int pInputting)
Description copied from class: AbstractTrainingAlgorithm
Derzeit leer.

Specified by:
applyWeightUpdate in interface INetTrainingAlgorithm
Overrides:
applyWeightUpdate in class AbstractTrainingAlgorithm
See Also:
INetTrainingAlgorithm.applyWeightUpdate(int, int)

setLearningParameters

public void setLearningParameters(double[] pLearningParameters)
Dieses Lernverfahren unterstützt folgende Parameter:
 Index  Bezeichnung  Funktion
   0    Alpha        Lernschrittweite
   1    Momentum     Faktor für den Momentumterm
 
Am Ende der Methode werden die Observer benachrichtigt.

Parameters:
pLearningParameters - Lernparameter für das Lernverfahren fest.
See Also:
INetTrainingAlgorithm.setLearningParameters(double[])

getLearningParameters

public double[] getLearningParameters()
Dieses Lernverfahren unterstützt folgende Parameter:
 Index  Bezeichnung  Funktion
   0    Alpha        Lernschrittweite
   1    Momentum     Faktor für den Momentumterm
 

Returns:
Aktuelle Lernparameter für das Lernverfahren.
See Also:
INetTrainingAlgorithm.getLearningParameters()

getLearningParameterNames

public java.lang.String[] getLearningParameterNames()
Dieses Lernverfahren unterstützt folgende Parameter:
 Index  Bezeichnung  Funktion
   0    Alpha        Lernschrittweite
   1    Momentum     Faktor für den Momentumterm
 

Returns:
Die Bezeichnungen für die Lernparameter.
See Also:
INetTrainingAlgorithm.getLearningParameterNames()

getDefaultLearningParameters

public double[] getDefaultLearningParameters()
Dieses Lernverfahren unterstützt folgende Parameter:
 Index  Bezeichnung  Funktion
   0    Alpha        Lernschrittweite
   1    Momentum     Faktor für den Momentumterm
 

Returns:
Initialwerte für die Lernparameter des Lernverfahrens.
See Also:
INetTrainingAlgorithm.getDefaultLearningParameters()

getAlgorithmName

public java.lang.String getAlgorithmName()
Liefert den String "Backprop + Momentum" zurück.

Returns:
Namen des Lernverfahrens.
See Also:
INetTrainingAlgorithm.getAlgorithmName()

toString

public java.lang.String toString()